package cn.lixu.pet.controller;

import cn.lixu.pet.domain.PetType;
import cn.lixu.pet.service.IPetTypeService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController //controller层  返回的是json格式数据
@RequestMapping("/petType")
public class PetTypeController {

    @Autowired
    private IPetTypeService petTypeService;

//
//    /**
//     * 查询全部
//     *
//     * @return
//     */
//    @GetMapping
//    @ApiOperation(value = "查询全部")
//    @PreAuthorize(name = "查询全部宠物列表",sn = "pet:list") //value后面用来做权限校验
//    public List<PetType> loadAll() {
//        return petTypeService.loadAll();
//    }
//
//    /**
//     * 查询一个
//     *
//     * @param id
//     * @return
//     */
//    @GetMapping("/{id}")
//    @ApiOperation(value = "查询一个")
//    @PreAuthorize(name = "查询一个宠物列表",sn = "pet:loadById") //value后面用来做权限校验
//    public PetType loadById(@PathVariable("id") Long id) {
//        return petTypeService.loadById(id);
//    }
//
//    /**
//     * 删除
//     *
//     * @param id
//     * @return
//     */
//    @DeleteMapping("/{id}")
//    public JsonResult deleteById(@PathVariable("id") Long id) {
//        try {
//            petTypeService.remove(id);
//            return new JsonResult();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return JsonResult.me().setMsg("删除失败");
//        }
//    }
//
//    /**
//     * @param pet
//     * @return
//     */
//    @PutMapping
//    public JsonResult addAndUpdate(@RequestBody PetType pet) {
//        try {
//            if (pet.getId() == null) {
//                petTypeService.save(pet);
//            } else {
//                petTypeService.update(pet);
//            }
//            return new JsonResult();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return JsonResult.me().setMsg("操作失败");
//        }
//    }
//
//    /**
//     * 分页数据
//     *
//     * @param petQuery
//     * @return
//     */
//    @PostMapping
//    public PageList<PetType> queryPage(@RequestBody PetTypeQuery petQuery) {
//        return petTypeService.queryPage(petQuery);
//
//    }
//
//    /**
//     * 批量删除
//     *
//     * @param
//     * @return
//     */
//    @PatchMapping
//    public JsonResult patchDel(@RequestBody List<Long> ids) {
//        try {
//            petTypeService.patchDel(ids);
//            return new JsonResult();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return JsonResult.me().setMsg("删除失败");
//        }
//    }

    /**
     * 查询宠物树
     *
     * @return
     */
    @GetMapping("/typeTree")
    @ApiOperation(value = "获取宠物树-无限极接口")
    public List<PetType> typeTree() {
        return petTypeService.typeTree();
    }
}

